package com.zhava.crawler.client.api;

import com.zhava.crawler.client.request.CrawlerRequest;
import com.zhava.crawler.client.request.PaginatedCrawlerRequest;
import com.zhava.crawler.client.response.CrawlerResponse;
import com.zhava.crawler.client.response.PaginatedCrawlerResponse;

/**
 * 爬虫服务接口
 *
 * @author zhaxiang
 */
public interface CrawlerApi {

    /**
     * 执行爬取操作
     *
     * @param request 爬虫请求参数
     * @return 爬虫响应结果
     */
    CrawlerResponse crawl(CrawlerRequest request);
    
    /**
     * 执行分页式爬取操作
     *
     * @param request 分页式爬虫请求参数
     * @return 分页式爬虫响应结果
     */
    PaginatedCrawlerResponse crawlPaginated(PaginatedCrawlerRequest request);
} 